package org.yds.quality.function;


import com.googlecode.aviator.runtime.function.AbstractVariadicFunction;
import com.googlecode.aviator.runtime.type.AviatorBoolean;
import com.googlecode.aviator.runtime.type.AviatorObject;

import java.util.Map;

public class OrFunction extends AbstractVariadicFunction {


    @Override
    public AviatorObject variadicCall(Map<String, Object> env, AviatorObject... args) {
        // 遍历所有参数
        for (AviatorObject arg : args) {
            // 获取参数值并转换为 boolean 类型
            boolean value = (boolean) arg.getValue(env);
            if (value) {
                // 如果任意一个参数为 true，返回 true
                return AviatorBoolean.TRUE;
            }
        }
        // 如果所有参数都为 false，返回 false
        return AviatorBoolean.FALSE;
    }

    @Override
    public String getName() {
        return "OR"; // 函数名称
    }


}
